<?php
/**
 * index.php     ZCMS 主框架文件
 *
 * @copyright    (C) 2005 - 2010  ZCMS
 * @licenes      http://www.zcms.cc
 * @lastmodify   2010-10-27
 * @author       zhuayi
 * @QQ			 2179942
 */
class strings
{
	/*----构造函数 */
	function __construct()
	{
	

	}
	
	/**
	 * MD5加密
	 * @param string $string 要加密的字符串
	 */
	function mymd5($string)
	{
		$string = base64_encode(md5($string));
		return md5($string);
	}
	
	/**
	 * array 转 json
	 *
	 * @param find 字符串或数组，是字符串直接返回,是数组返回json数据
	 */
	function json_enarray($find)
	{
		if (is_array($find))
		{
			return json_encode($find);
		}
		else
		{
			return $find;
		}
	}
	
	/**
	 * json 转 array  
	 *
	 * @param find 字符串或数组，是字符串直接返回,是数组返回json数据
	 */
	function json_dearray($find)
	{
		$json = json_decode($find,true);
		
		/* 判断是否JSON对象 */
		if (is_array($json))
		{
			$find = $json;
		}
		return $find;
	}
	
	/**
	 * 截取中间字符串
	 *
	 * @param string $str 要截取的字符串
	 * @param string $start 开始标记
	 * @param string $end 结束标记
	 */
	function jiequ($str,$start,$end)
	{

		$str = explode($start,$str,2);
		$str = $str[1];
		$str = explode($end,$str,2);
		return $str[0];
	}
	
	/********************************** 
	  * 截取字符串(UTF-8)
	  *
	  * @param string $str 原始字符串
	  * @param $position 开始截取位置
	  * @param $length 需要截取的偏移量
	  * @return string 截取的字符串
	  * $type=1 等于1时末尾加'...'不然不加
	 *********************************/ 
	 function utfSubstr($string, $start, $len, $byte=3)
	{
	   $str    = "";
	   $count  = 0;
	   $str_len = strlen($string);
	   for ($i=0; $i<$str_len; $i++) {
		   if (($count+1-$start)>$len) {
			   //$str  .= "...";
			   break;
		   } elseif ((ord(substr($string,$i,1)) <= 128) && ($count < $start)) {
			   $count++;
		   } elseif ((ord(substr($string,$i,1)) > 128) && ($count < $start)) {
			   $count = $count+2;
			   $i    = $i+$byte-1;
		   } elseif ((ord(substr($string,$i,1)) <= 128) && ($count >= $start)) {
			   $str  .= substr($string,$i,1);
			   $count++;
		   } elseif ((ord(substr($string,$i,1)) > 128) && ($count >= $start)) {
			   $str  .= substr($string,$i,$byte);
			   $count = $count+2;
			   $i    = $i+$byte-1;
		   }
	   }
	   return $str;
	}
	
}
?>